1. Field of Art
The disclosure generally relates to efficiently executing database queries using a computing device with multiple processors.
2. Description of the Related Art
Computing devices use graphical processing units (GPUs) for performing graphical computations such as vertex rotation and translation, texture mapping, polygon rendering, and so on. A GPU comprises multiple processors that are efficient at executing highly parallel tasks. Computing devices typically include a GPU in addition to the central processing unit (CPU). GPUs are typically more efficient than general-purpose CPUs for highly parallel tasks.
GPUs are increasingly being used for general purpose processing. However, GPUs are not efficient in performing several types of general purpose computing tasks. For example, GPUs perform tasks efficiently if all tasks are performing identical processing on different parts of the data. In contrast, general purpose computing often requires different processing on different parts of a data set. This causes various tasks of the GPU to synchronize with each other often while performing general purpose computing. Synchronizing tasks of a GPU is an expensive process. Furthermore, not all general purpose computations are amenable to a highly parallel execution. Due to these differences between general purpose computations and typical graphical computations, attempts at performing general purpose tasks using GPUs have met with challenges. Execution of database queries is one such general purpose task that is challenging to execute efficiently on a GPU.